Multiple input, multiple output (MIMO) wireless communication systems use multiple transmit and receive antennas at transceivers to increase diversity using space and time coding. MIMO systems can also increase the data rate by using spatial multiplexing. There is a fundamental tradeoff between the increase in diversity and data rate for MIMO systems.
The most challenging part of detecting received signals in a MIMO system with spatial multiplexing is an exponential increase in the complexity of the receiver when a maximal a posterior (MAP) detector is used. This makes it difficult to implement a MAP detector in practical systems.
Most of prior art detection methods for MIMO receivers can be classified into, but not limited to the following categories: linear; tree based; and Markov chain Monte Carlo (MCMC) detection.
Linear detection is the simplest. Similar to multi-user detection in a CDMA system, the interference from other antennas is successively suppressed by zero forcing (ZF) or minimal mean square error (MMSE) equalization. Thus, the MIMO detection is turned into a set of parallel single input, single output (SISO) detection problems. Therefore, linear detection is also called successive interference cancellation (SIC). However, ZF and MMSE are suboptimal.
Although linear detection has a very low complexity, there are several drawbacks. While suppressing the interference, part of the useful signal energy is cancelled because the channels of different antennas are usually not orthogonal, thus noise energy can increase. Linear detection also suffers from the error propagation from different antennas, and hence the spatial diversity order is reduced to one.
Vertical-Bell Labs Layered Space Time (V-BLAST) is an improved version of SIC. V-BLAST performs the SIC process in the order of the transmit antenna with a largest signal strength. The performance is improved because the error propagation is reduced with such an ordered scheme.
The tree based detection can theoretically achieve optimal performance by selecting a large sphere (in sphere decoding), or M parameter in a QR decomposition (QRD-M). The QRD-M decomposes a channel matrix H as H=QR based on a modified Gram-Schmidt (MGS) method, where Q is an Nr×Nt, unitary matrix and R is an Nt×Nt upper triangular matrix, and Nt and Nr are the number of transmit and receive antennas, respectively. Tree based detection has a significant lower complexity than MAP detection. The tree based detector first applies the QRD-M over the channel matrix H to form a tree. The Euclidean distance is determined along paths of the tree from the root node to the leaf nodes. At each level of the tree, some paths are eliminated based on some criteria to lower the complexity.
For QRD-M, only M paths with a smallest accumulated Euclidean distance are selected. For the sphere decoding method, the paths with accumulated Euclidean distance smaller than a predefined sphere radius are selected. The complexity of tree detection corresponds to the parameter M for the QRD-M, and the sphere radius for sphere decoding.
While tree detection has a reduced complexity, when compared with the MAP detection, there are still some drawbacks for practical implementations. The sphere decoding has a variable complexity depending on a signal-to-noise (SNR). The complexity at lower SNR is significantly higher than at higher SNR, which means an uncontrollable delay. QRD-M has a constant complexity, which on the average is larger than sphere decoding. Another disadvantage of the QRD-M method is that it uses a time consuming sorting procedure, which introduces long delays. For example, if the system has four transmit and receive antennas, then for 64 quadrature amplitude modulation (QAM), M=64 should be used to obtain good performance. Therefore, at each layer of the tree, the QRD-M method needs to sort 64×64=4096 accumulated Euclidean distances to select 64 minimal distances, which leads to long delay. The conventional Quicksort procedure needs mlog2M comparisons, where m is the number of items to be sorted. The sorting procedure is difficult to implement in parallel, which precludes hardware implementations.
The Markov chain Monte Carlo (MCMC) detection is near optimal. Similar to tree detection, MCMC detection also performs limited search over a subset of candidate samples to decrease the complexity. However, instead of tree based search, the MCMC detection uses a Markov chain based search. By using a set of parallel Markov chains, whose stationary distribution follows the channel probability density function (PDF), candidate samples with large probabilities are generated efficiently. The candidate samples are then used to determine the Euclidean distances. The MCMC detection can achieve better performance and decreased average complexity at a low SNR, as well for larger dimension problem. At a high SNR, the performance is worse than at the low SNR. This is because the Markov chains take a long time to reach stable states at a high SNR.
Therefore, it is desired to provide a MIMO detector with low complexity and for a wide range of SNR conditions.